package com.peas.platform.module.icims.budget.apply.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 一上预算绩效指标
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_budget_one_kpi`")
public class BudgetOneKpiPo extends BasePo {

    //一上预算表ID
    //（一上预算表）外键
    @TableField(value = "`budget_one_id`", jdbcType = JdbcType.BIGINT)
    private Long budgetOneId;

    //绩效目标分类
    //0总目标，1本年度绩效目标
    @Size(max = 4, message = "绩效目标分类不能超过4个字符")
    @TableField(value = "`performance_type`", jdbcType = JdbcType.VARCHAR)
    private String performanceType;

    //指标等级
    @TableField(value = "`level`", jdbcType = JdbcType.INTEGER)
    private Integer level;

    //指标编码
    @Size(max = 200, message = "指标编码不能超过200个字符")
    @TableField(value = "`kpi_code`", jdbcType = JdbcType.VARCHAR)
    private String kpiCode;

    //指标名称
    @Size(max = 200, message = "指标名称不能超过200个字符")
    @TableField(value = "`kpi_name`", jdbcType = JdbcType.VARCHAR)
    private String kpiName;

    //指标内容
    //手动输入
    @Size(max = 200, message = "指标内容不能超过200个字符")
    @TableField(value = "`kpi_content`", jdbcType = JdbcType.VARCHAR)
    private String kpiContent;

    //指标值
    //手动输入
    @Size(max = 200, message = "指标值不能超过200个字符")
    @TableField(value = "`kpi_value`", jdbcType = JdbcType.VARCHAR)
    private String kpiValue;

    //周期指标值
    @Size(max = 200, message = "周期指标值不能超过200个字符")
    @TableField(value = "`kpi_value_period`", jdbcType = JdbcType.VARCHAR)
    private String kpiValuePeriod;

    //备注
    //手动输入
    @Size(max = 200, message = "备注不能超过200个字符")
    @TableField(value = "`remark`", jdbcType = JdbcType.VARCHAR)
    private String remark;

    //排序权重
    //倒序排序
    @TableField(value = "`weight`", jdbcType = JdbcType.INTEGER)
    private Integer weight;

    //上级指标ID
    //（一上预算绩效指标表）外键
    @TableField(value = "`parent_id`", jdbcType = JdbcType.BIGINT)
    private Long parentId;

}
